The present invention relates to anti-lock brake and traction control and other embedded systems having simple and limited processing architectures. More particularly, the invention relates to a method and system designed to improve the performance of an embedded control system by reducing the complexity of averaging processes.
Anti-lock brake systems are installed in vehicles to ensure the best possible vehicle control and stopping distance during hard braking. Traction control systems are used to prevent wheel spin while driving in adverse weather conditions. Other braking and control systems are used to prevent or minimize skidding and other non-desirable vehicle movement.
Braking and similar systems use a hydraulic unit to modulate wheel pressure to keep wheels from skidding or spinning. These pressure modulations can excite the vehicle drive train. When the drive train is excited at its natural frequency, the speed of wheels attached to the drive also vibrates. Wheel speed is often determined by using an embedded controller and sensors that monitor wheel rotation.
Many embedded control systems use feedback control, which means that the control action of the control system is generated based on a feedback signal. Once the wheel speed vibrates, the feedback controller attempts to attenuate the vibration by modulating pressure at the wheel. However, due to the delay in the control system, these pressure modulations often worsen the drive-train/wheel speed vibrations. To reduce the sensitivity of the embedded controller to vibrating wheel speed, a low-pass filter with a low cut-off frequency is commonly used. However, this introduces large phase lag in wheel speed and acceleration signals, which in turn degrades the control performance of braking and similar control systems.
Accordingly, there is a need for an improved control system for braking, traction control, and other embedded systems that are affected by wheel speed vibrations. The inventor has found that satisfactory control performance in braking systems can be attained by using moving-window, averaging filtering with a window size matching the vibration period of the unfiltered wheel speed. (The filtered wheel speed is the mean value of the unfiltered wheel speed values.) The inventor has determined that a window averaging filter has better attenuation results in the amplitude of vibration wheel speed with less phase lag than prior systems.
The invention utilizes a moving window averaging algorithm. In one embodiment, the invention provides a method of window-filtering vehicle data. The method involves retrieving a processed vehicle data value from a memory, determining a current vehicle data value, retrieving a current data window size from the memory, and determining a past vehicle data value within a data window. A difference between the current vehicle data value and the past vehicle data value is then determined. The method also involves determining a quotient of the difference over the data window size and determining a new processed vehicle data value by summing the quotient and the previously processed vehicle data value. The size of the data window can be increased or decreased to accommodate changes in vehicle behavior, such as changes in the natural frequency of the vehicle drive train that occur when the coefficient of friction (often referenced using the Greek letter mu) of the surface upon which the vehicle is travelling changes or varies.
For example, when starting a vehicle on a split-mu road surface (e.g., one drive wheel on ice and the other on pavement), only the transaxle, a half shaft, and one wheel are considered to be part of the drive train for purposes of determining the natural frequency of the drive train. On a homogenous, low-mu road surface, the transaxle, both half shafts, and two wheels are considered to be part of the drive train for natural frequency purposes. In these cases, the vibrating system involves different components and the elasticity and boundary conditions of the vibrating system are different. Thus, the natural frequency is different for each circumstance.
Increasing the window size involves retrieving a previous data window size from the memory, determining a product between the previous data window size and the previously processed vehicle data value, determining a sum by adding the current vehicle data value to the product, and determining a current processed vehicle data by dividing the sum by the current data window size. Decreasing the window size involves retrieving a past data window size from the memory, determining a product between the past or previous data window size and the previous processed vehicle data value, determining a first sum by adding the current vehicle data value to the product, retrieving a plurality of past vehicle data values from the current window, determining a second sum by adding the plurality of past vehicle data values, determining a difference by subtracting the second sum from the first sum, and determining a current processed vehicle data by dividing the difference by the current data window size.
The invention also provides a control system. The control system includes one or more data sensors coupled to a controller. The controller includes a filter and a main routine such as an anti-lock braking software module. The filter may be implemented as an interrupt routine. The filter retrieves a first processed data value from memory, determines a current unprocessed data value, retrieves a window size from memory, determines a past data value within a predetermined data window, the difference of the current data value and the past data value, and generates an output signal by summing the quotient and the first processed data value.
Other features and advantages of the invention will become apparent to those skilled in the art upon review of the following detailed description, claims, and drawings.